export const SearchTypeEnum = {
    text: 'text',
    enum: 'enum',
    dict: 'dict',
    date: 'date',
    time: 'time',
    daterange: 'daterange',
} as const;

export type SearchType = (typeof SearchTypeEnum)[keyof typeof SearchTypeEnum];

export type ColumnOption =
    | string
    | number
    | boolean
    | {
        label: string;
        value: string | number | boolean;
    };

export type ColumnType = {
    label: string;
    prop: string;
    value?:
        | string
        | string[]
        | number
        | number[]
        | boolean
        | boolean[]
        | null
        | (string | number)[]
        | (string | number | boolean)[];
    mutiple?: boolean;
    type?: SearchType;
    options?: ColumnOption[];
    dateType?: string;
    format?: string;
    valueFormat?: string;
    rangeSeparator?: string;
    placeholders?: [string, string] | [string];
};

